Method and system for presenting educational material

ABSTRACT

Method and system for presenting a lesson plan having a plurality of keyframes is provided. The method includes initializing a fixed variable for a first keyframe; detecting an input from a user at an interactive display device; correlating the input with a gesture from a gesture set and one or more of database domains from among a plurality of database domains; displaying an image at the interactive display device when all mutable variables for the first keyframe content are determined based on the input; manipulating the image using a gesture associated with the displayed image and any associated database domains; and transitioning to a next keyframe using animation.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of co-pending U.S. patent applicationSer. No. 13/831,104, filed on Mar. 14, 2013, the disclosure of which isincorporated herein by reference in its entirety.

TECHNICAL FIELD

The present disclosure relates to machine implemented methods andsystems for presenting educational materials and lesson plans.

RELATED ART

Educational materials, for example, to teach mathematical concepts, arestatic, have limited flexibility, and fail to meet the needs of alllearners. This prevents students from gaining understanding and masteryof mathematical concepts in a classroom setting. Continuous efforts arebeing made to improve educational materials and how they should bepresented to students.

SUMMARY

In one embodiment, a machine implemented method for using a graphicalinterface for developing a lesson plan having a plurality of keyframesfor teaching a mathematical concept is provided. The content for eachkeyframe is associated with a database domain from among a plurality ofdatabase domains. The method includes selecting a gesture from a gestureset for controlling objects when displayed at an interactive displaydevice for a first keyframe; associating a mutable variable for thefirst keyframe content with a gesture; defining a default condition forthe mutable variable; adding one or more of text, label, dimension orexpression to the first keyframe content; and establishing transitionbetween the first keyframe and a next frame, using animation.

In another embodiment, a machine implemented method for presenting alesson plan having a plurality of keyframes is provided. The methodincludes initializing a fixed variable for a first keyframe; detectingan input from a user at an interactive display device; correlating theinput with a gesture from a gesture set and one or more of databasedomains from among a plurality of database domains; displaying an imageat the interactive display device when all mutable variables for thefirst keyframe content are determined based on the input; manipulatingthe image using a gesture associated with the displayed image and anyassociated database domains; and transitioning to a next keyframe usinganimation.

In yet another embodiment, a system for delivering educational contentis provided. The system includes an interactive display deviceoperationally coupled to a presentation system and a computing systemfor presenting educational content. The presentation system isconfigured to initialize a fixed variable for a first keyframe; detectan input from a user at the interactive display device; correlate theinput with a gesture from a gesture set and one or more of databasedomains from among a plurality of database domains; display an image atthe interactive display device when all mutable variables for the firstkeyframe content are determined based on the input; manipulate the imageusing a gesture associated with the displayed image and any associateddatabase domains; and transition to a next keyframe using animation.

This brief summary has been provided so that the nature of thisdisclosure may be understood quickly. A more complete understanding ofthe disclosure can be obtained by reference to the following detaileddescription of the various embodiments thereof in connection with theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing features and other features will now be described withreference to the drawings of the various embodiments. In the drawings,the same components have the same reference numerals. The illustratedembodiments are intended to illustrate, but not to limit the presentdisclosure. The drawings include the following Figures:

FIG. 1 illustrates an embodiment of a system for presenting educationalmaterial, according to one embodiment;

FIG. 2 shows an architecture of a presentation system, according to oneembodiment;

FIGS. 3-6 show various process flows for the various adaptiveembodiments of the present disclosure;

FIG. 7 shows the architecture of a computing system used by the variousembodiments; and

FIGS. 8A-8D (8A-1 to 8A-4, 8B-1 to 8B-4, 8C-1 to 8C-4 and 8D-1 to 8D-4)and 9A-9D (9A-1 to 9A-2, 9B-1 to 9B-2, 9C-1 to 9C-2 and 9D-1 to 9D-3)show examples of lesson plans presented using the embodiments of thepresent disclosure.

DETAILED DESCRIPTION

In the following detailed description of the embodiments, reference ismade to the accompany accompanying drawings in which like referencesindicate similar elements, and in which is shown by way of illustrationspecific embodiments in which the invention may be practiced. Theseembodiments are described in sufficient detail to enable those skilledin the art practice the embodiments, and is to be understood that otherembodiments may be utilized and that logical, mechanical, electrical,functional, and other changes may be made without departing from thescope of the present invention. The following detailed description is,therefore, not to be taken in limiting sense, and the scope of thepresent invention is defined only by the appended claims.

As preliminary note, the terms “component”, “module”, “system,” and thelike as used herein are intended to refer to a computer-related entity,either software-executing general purpose processor, hardware, firmware,and/or a combination thereof. For example, a component may be, but isnot limited to being, a process running on a processor, a processor, anobject, an executable, a thread of execution, a program, and/or acomputer.

By way of illustration, both an application running on a server and theserver can be a component. One or more components may reside within aprocess and/or thread of execution, and a component may be localized onone computer and/or distributed between two or more computers. Also,these components can execute from various non-transitory, computerreadable media having various data structures stored thereon. Thecomponents may communicate via local and/or remote processes such as inaccordance with a signal having one or more data packets (e.g., datafrom one component interacting with another component in a local system,distributed system, and/or across a network such as the Internet withother systems via the signal).

Computer executable components can be stored, for example, atnon-transitory computer readable media including, but not limited to, anASIC (application specific integrated circuit), CD (compact disc), DVD(digital video disk), ROM (read only memory), floppy disk, hard disk,EEPROM (electrically erasable programmable read only memory), memorystick or any other storage device, in accordance with the claimedsubject matter.

To facilitate an understanding of the various embodiments of the presentdisclosure, the general architecture and operation of an interactive,classroom system is described first.

System 100:

FIG. 1 shows an interactive system 100 having an interactive displaydevice 104 and a presentation system 102 (may also be referred to assystem 102). The display device 104 may be coupled to a network 106. Thedisplay device 104 can display content to a plurality of student systems108A-108N that are operationally coupled to network 106. Presentationsystem 102 may be executed at a computing system that is directlycoupled to the interactive display device 104 or remotely connected tothe display device.

Interactive display device 104 may be a processor based display devicethat can receive a user input and display an image. An example of onesuch display device are the Smart Board Interactive White Boardsprovided by Smart Technologies Corporation.

Network 106 may be a local area network (LAN), wide area network (WAN),wireless network or any other network type. The student systems108A-108N may be desktop computers, laptop computers, notebookcomputers, tablet computers, smart phones, personal digital assistantsor any other computing device type. The embodiments disclosed herein arenot limited to any computing device type or network type.

In one embodiment, presentation system 102 provides an interactive toolfor imparting math education. Presentation system 102 allows a user (forexample, an instructor in a classroom) to manipulate mathematicalimages, formulas and dimensions in real-time and over a wide range ofdimensional and temporal values, as described below in more detail.Presentation system 102 simulates 2D (two-dimensional) and 3D(three-dimensional) operations for illustrating algebraic, geometric,numeric and arithmetic concepts using instructor driven animation.Presentation system 102 uses domain databases and gesture sets inconjunction with lesson plans, as described below.

In one embodiment, a user provides an input (for example, a draw path)using the interactive display device 104. User input is associated withmathematical concepts by using animation and allowing the user toreshape the lesson plan.

In one embodiment, a lesson plan is generated and may be presented in aplurality of modes providing different experiences for an instructor.For example, the lesson plan may be presented in an advanced mode, anauto-play mode or via a computing device visible to the instructor.

In the advanced mode, a user draw path is mapped to mathematical andsymbolic libraries. An image is then displayed using animation frames,such that the displayed image appears to have been displayed based onthe instructor's hand position but still bound by the lesson planconstraints. The user's draw path may advance or rewind the animationsequence as well as reconfigure the animation sequence based on theuser's knowledge and familiarity with the presentation system.

In the auto-play mode, a default sequence allows the instructor to workthrough a lesson by either tapping the interactive display device usinga pointing device, for example, a mouse or a digital pen, to advancethrough lesson plan slides. The term “slides” as used herein means whatis displayed on the display device.

FIG. 2 shows a block diagram of presentation system 102, according toone embodiment. The presentation system 102 includes a lesson planmodule 200 that may be used to generate a lesson plan and store thelesson plan at a memory storage location. Lesson plan module 200 mayprovide a graphical user interface (GUI) on a display device to a userfor building a lesson plan.

The lesson plan module 200 has access to a gesture set 202 and a domaindatabase 224 that may have a plurality of domain databases (or datastructures), as described below. Gesture set 202 may include a singletouch, a multi touch and a 3D spatial control gestures. The single touchgesture allows a single gesture to control an object, relate to mutablevariables (i.e. variables that may change) for the object and defaultconditions for mutable variables, as described below. The multi-touchgestures require more than one gesture and 3D spatial control allows 3Dspatial gestures for controlling the object.

Domain database 224 may include a plurality of domains databases (may bereferred to as domain), for example, an open drawing domain 204, a shapedomain 206, a spatial object manipulation domain 208, a symbolicmanipulation domain 210, a measurement domain 212, a characterrecognition domain 214, a fridge magnet mode domain 216, an objectduplication domain 218, a data display domain 220 and any other domain222.

The various domains may be associated with a keyframe of a lesson plan.The term keyframe as used herein means a pre-defined step in apresentation/animation sequence that includes definitions for content,display, animation transitions and user controls. Keyframes may bepoints within a lesson plan that permit presentation system 102 to pauseand await an input from a user.

The Open Drawing domain 204 includes a database that translates handmotion (or draw paths) into freehand drawings.

The shape domain 206 may include a 2D Shape database as well as a 3Ddatabase. The 2D database includes 2D geometric shapes and forms such aslines, polygons, parallel and perpendicular lines, circles, ellipses,parabolas and others. The 2D Shape database may also include a 2DExtrusion segment that includes shapes that are expanded from a 2D viewinto a 3D view by stretching the 2D shape along a z axis. The gestureset associated with this domain allows for the extrusion to be positiveor negative.

The 3D Shape database is used to interpret the draw path to directlycreate 3D shapes such as cones, spheres, cubes, tetrahedrons and others.

The Spatial Manipulation domain 208 includes a database that correlateswith gesture sets to spin, slide, stretch, compress, flip, rotate andsplit objects that are 2D or 3D.

The Measurement domain 212 permits display of relative dimensions (basedupon an original draw path that created 2D or 3D shapes or based uponstretching or compaction of those shapes) and dimensions based on userpresentation design.

Character Recognition domain 214 includes a database that representsalphanumeric characters used in labels, words, equations, formulas andothers. Symbolic Manipulation domain 210 is similar, but also includesdraw path recognition to calculate formulas and equations of differentorders.

Fridge Magnet Mode domain 216 includes a database that allows forobjects, numbers, and formulas within a display to be individually“grabbed” and relocated on the display as the animation shows their“movement.”

Object Duplication domain 218 includes a database that permits gesturesto create multiple numbers of objects that are either already within adisplay, or are being retrieved from a shape database.

The Data Display domain 220 includes a database (and correspondinggesture sets) that provides computational cells in a table array ontothe interactive display for manipulation.

Other domain 222 may include other user developed and defined database.

Presentation system 102 includes an input analyzer 230 that analyzes aninput 234 received from a user via an input detection module 232. Theinput may be a draw path, a tap on the interactive display device 104and others. The animation engine 228 provides animation in keyframes ofa lesson plan, as described below in more detail.

Process Flows:

FIG. 3 shows a process 300 for generating a lesson plan, according toone embodiment. The lesson plan content is determined by an instructor.The content may include 2D and/or 3D representations from the shapedomain 206, as well as graphical symbols. The shapes, symbols andalphanumeric characters may be stored in various libraries. Theselection and placement of content within a keyframe may be performedusing a drag-and-drop interface provided at a display device.

The user may sequence content and define user interaction type or drawpath that drives transitions between keyframes of a lesson plan usinganimation engine 228. This may be enabled by specifying variables thatmay be fixed or mutable. Mutable variables may have default values aswell as a range of values. The mutable variables may be managed duringthe presentation of the lesson plan.

Referring now to FIG. 3, the process 300 begins in block B302, when apresentation workspace is presented to a user on a display device. Theworkspace may be presented by lesson plan module 200 that may be a partof presentation system 102 or operate as a separate module.

In block B304, the user generates a keyframe for the lesson plan. Inblock B306, the user selects one or more domain from domain databases224. The various domains have been described above in detail.

In block B306, objects from a domain are selected and are assigned fixedand mutable variables, where applicable. An example of a fixed variablein a lesson plan may be a color that may be used to fill differentshapes in a lesson plan for teaching about geometrical shapes, forexample, parallelograms, as described below with respect to FIGS. 8A-8D,described below in detail. An example of a mutable variable may be theheight and width of a geometrical shape.

In block B310, a gesture set is associated with the selected objects. Inblock B312, mutable variables are associated with the gestures that mayhave been selected from a gesture set.

In block B314, text, labels, dimensions or an expression are added tothe keyframe. In block B316, a gesture set is added for the labels.Default conditions for the mutable variables are also defined.

In block B318, tweening is defined from this keyframe to a next keyframein the lesson plan. The term tweening as used in animation enables anobject to move from a starting position to an end position, as well aschange its properties. Tweening as used herein may be pre-defined orprogrammed to develop transitions that satisfy mathematical constructs.The process blocks B302-B318 are then repeated, until all the keyframesfor the presentation have been created.

FIG. 4 shows a process 400 for presenting a lesson, according to oneembodiment. During the presentation, system 102 interprets a user's drawpath (or a valid user input i.e. a non-spurious user input, usedinterchangeably throughout this specification), reproduces the draw pathon the display device 104, correlates the trace with pre-defined domaindatabase elements to display a finished graphic that aids students inlearning the objective of the lesson plan. The draw path is mapped to alibrary and objects. Insignificant taps on the interactive displaydevice 104 or gestures are ignored if they do not relate to the lessonplan. When a gesture is insufficient, then a default may be displayed totransition to the next slide or correlate with a next slide. The drawpath determines what slide or animation is generated next in sequence.Thus, prior states define future states.

Tweening between slides may be defined in the lesson plan, as describedabove. It is noteworthy that one does not have to work in the same slideorder as was developed in the lesson plan. Instead, one can simply workwith an image displayed at a given time. For example, if a lesson is toteach one about parallelograms, then the draw paths can be made tocorrelate with that content. Thus, if a user draws a circle, the systeminterprets it as a rectangle or a parallelogram.

Animation engine 228 responds to the user draw path and the response maybe changed within a same keyframe or changed in making a transition fromone keyframe to the next. The variables or animation attributes areassociated with the visual elements in the keyframe, for example,dimensions, relative scaling, orientation, and speed of motion, path oftravel or relationship with other objects.

Referring now to FIG. 4, process 400 begins in block B402, when studentsystems 108A-108N, presentation system 102 and the display device 104are all initialized and operational. A lesson plan is selected by theuser from a plurality of lesson plans stored at a storage device. Inblock B404, the user provides an input on the display device, forexample, a draw path. In block B406, the input is detected and the drawpath is correlated with shapes and libraries for the first keyframe ofthe lesson plan.

Based on the draw path, in block B408, animation may be displayed. Theuser may then manipulate the displayed image in block B410 to move thenext slide. Thereafter, in block B412, the user moves to otherkeyframes, until the presentation is complete. Examples of process 400are provided below with respect to FIGS. 8-9.

FIG. 5 is a detailed process 500 for animating a presentation, accordingto one embodiment. The process begins in block B502 when a presentationbased on a previous lesson plan developed using the process of Figure isstarted. The presentation may have a first keyframe, followed by otherkeyframes.

In block B504, the fixed variables for the first keyframe areinitialized. The process then waits to detect an event in block B506.The event in this context may be a tap on the interactive display device104, a draw path that the user draws on the display device or any otherinput type. The event is detected by the input detection module 232.

In block B508, the process determines if all the mutable variables forthe keyframe have been determined by interpolating the draw path. Ifyes, then in block 510, advances a tween.

In block B512, the process determines if tweening is complete. If yes,then the process moves to block B516, when a keyframe counter isincremented. The counter is maintained by the presentation system 102 totrack keyframe display. If tweening is not complete, then in block B514,tweening is completed and the process moves to block B516 that has beendescribed above.

In block B518, the process determines if there is another keyframe. Ifyes, then the process moves to block B504, otherwise the process ends inblock B519.

Referring back to block B508, if all the mutable variables for thekeyframe have not been fully determined, the process determines in blockB520, whether the event provides mutable variables. If the event doesnot provide mutable variables, then the process waits for a next eventin block B526 and reverts back to block B506.

If the event does provide mutable variables, then the mutable variablesare stored in block B522. The mutable variables may be stored at amemory location accessible to the animation engine 228. This allows theuser to rework contents of a keyframe to illustrate any variations for atheme that is taught by a presentation. Thus, one animation may run akey frame one way to show a slide a certain way and another animationmay run the keyframe differently showing a slide that may be differentthan the first slide.

The process in block B524, determines if all the mutable variables havebeen determined. If yes, then the process moves to block B510, otherwisethe process waits for a next event in block B526.

FIG. 6 shows a process 600 as an example of correlating a draw path to astraight line from the shape domain 206.

The process begins in block B602, when a user provides an input, forexample, the user starts to draw on the display device 104. Thebeginning of the event is detected in block B604. The input analyzer 230records the initial position of the draw path at a memory location inblock B606. The input analyzer then waits for a next event in blockB608.

After the event is received, the input analyzer 230 determines the eventtype in block B610. For example, the event type may be a “move” or a“release”. In “move” event, the user extends the draw path from blockB604. For the release event, the user releases the input from thedisplay device 104.

When the event is a move, the input analyzer 230 records the “next”position in block B612 and then evaluates if an angle may be determinedin block B614. If yes, then the input analyzer 230 determines a ratio ofa distance that has been drawn to a target distance. Based on that, inblock B618, the display on the display device 104 is updated and a lineis drawn up to a current length ratio along the chosen angle.

In block B620, the total distance of the line is compared to the targetdistance. If the actual distance is equal to or greater than the targetdistance, then the process moves to block B622, when the presentationtransitions to a next keyframe. If the distance is not greater than orequal to the target distance, then, the process moves back to blockB622. The target distance may be specified in the keyframe for apresentation.

If the angle is not determined in block B614, then the processdetermines if the total distance from the draw path is greater than orequal to a threshold value. For this example of a 2D line, the thresholdvalue may be used to establish a minimum amount of movement (e.g. thedraw path) that may be needed to display a line segment of minimumlength. If the threshold value is reached, then in block B626, the anglefrom the recorded path is determined and stored. The process then movesto block B616. If the threshold is not reached in block B624, then theprocess moves to block B608.

Referring back to block B610, if the event type is a “release”, then inblock B628, the process evaluates if the angle may be determined. Ifyes, then the animation associated with the gesture is completed inblock B630, otherwise, the frame is reset in block B632.

Although the process described above is for generating a simple shapefrom the 2D domain, a similar process, with varying levels of draw pathinterpolations, is used for other domains and gesture sets.

Processing System:

FIG. 7 is a high-level block diagram showing an example of thearchitecture of a processing system, in which executable instructions asdescribed above can be implemented. The processing system 700 canrepresent a computing device executing the presentation system,interactive display device 104, student systems 108A-108N and othercomponents. Note that certain standard and well-known components whichare not germane to the present disclosure are not shown in FIG. 7.

The processing system 700 includes one or more processors 702 and memory704, coupled to a bus system 706. The bus system 706 shown in FIG. 7 isan abstraction that represents any one or more separate physical busesand/or point-to-point connections, connected by appropriate bridges,adapters and/or controllers. The bus system 706, therefore, may include,for example, a system bus, a Peripheral Component Interconnect (PCI)bus, a HyperTransport or industry standard architecture (ISA) bus, asmall computer system interface (SCSI) bus, a universal serial bus(USB), or an Institute of Electrical and Electronics Engineers (IEEE)standard 1394 bus (sometimes referred to as “Firewire”).

The processors 702 are the central processing units (CPUs) of theprocessing system 700 and, thus, control its overall operation. Incertain embodiments, the processors 702 accomplish this by executingprogrammable instructions stored in memory 704. A processor 702 may be,or may include, one or more programmable general-purpose orspecial-purpose microprocessors, digital signal processors (DSPs),programmable controllers, application specific integrated circuits(ASICs), programmable logic devices (PLDs), or the like, or acombination of such hardware based devices.

Memory 704 represents any form of random access memory (RAM), read-onlymemory (ROM), flash memory, or the like, or a combination of suchdevices. Memory 704 includes the main memory of the processing system700. Instructions, for example, for the presentation system 102 whichimplements techniques introduced above may reside in and may be executed(by processors 704) from memory 704.

Also connected to the processors 702 through the bus system 706 are oneor more internal mass storage devices 710, and a network interface 708.Internal mass storage devices 710 may be or may include any conventionalmedium for storing large volumes of data in a non-volatile manner, suchas one or more magnetic or optical based disks. The network interface708 provides the processing system 700 with the ability to communicatewith remote devices and systems via network 106.

Processing system 700 also includes a display interface 712 thatinterfaces with the interactive display device 102. The processingsystem 700 may also include one or more input/output (I/O) devices (notshown) that may include, for example, a display device, a keyboard, amouse, etc.

Lesson Plan Examples:

FIGS. 8A-1-8A-4 show an example of presenting a lesson plan to teach howan area of a parallelogram can be determined, using the system of FIG. 1and the process flows of FIGS. 4-6, described above. Each slide in thepresentation is animated with both the user's input and preprogrammedresponse animations, but selected screen shots are provided in thisdescription. The lesson plan illustrates the relationship between thearea of a rectangle and a parallelogram in a spatial-temporal manner bybuilding upon a student's familiarity with how water fills containers ofvarying shapes.

The lesson plan provides a visual rationale for an equation that definesthe area of a parallelogram. The user drags rectangles andparallelograms onto the screen and changes the dimensions of thoseshapes. The user can also add faucet elements to the shapes to signify atank of water. The user can tap to animate the tank and drain the waterinto another shape of equal or unequal area. If the new shape is smallerthan the tank, the animation shows that water overflows. If the shape islarger than the tank, the water does not completely fill the new shape.

At the end of the presentation, the user can cut a triangle from arectangle, reposition the triangle to build a parallelogram, and showequivalent areas for both geometric shapes. The user can also use hisfinger to bring the text and equations on the display device.

The lesson begins with a display 800 having a tool bar with a pluralityof icons. Icon 802 is used to end a presentation. Icon 804 is used toalternate numeric elements (if any) from decimal form to fractional orliteral form.

Icon 806 is used to provide captioning, while icon 808 is used to pushout a question to students' computing systems. Icon 810 allows theinstructor to run the presentation in an auto-mode without anyinstructor input. Icon 812 provides arrows for paging through apresentation. Icon 814 provides a time line or navigation bar forscrolling through the presentation in forward or reverse direction. Icon816 provides a menu for moving to other lessons and icon 817 is used toadjust the display.

Display 818 (FIG. 8A-2) shows that a user has drawn a rectangle andfills it with a color (for example, blue). Display 820 (FIG. 8A-4) showsthat the user has drawn a colored rectangle and an empty rectangle. Theuser then in display 822 (FIG. 8A-4) copies the rectangle without colorto denote an empty tank.

In FIG. 8B (8B-1 to 8B-4), using single touch gesture sets associatedwith the 2D-shape domain 206, object duplication domain 218 and spatialobject manipulation domain 208, the user continues to guide through thepresentation. Display 824 (FIG. 8B-1) shows an empty rectangle below thefull tank. In display 826 (FIG. 8B-2), the user shows that wateremptying from the top tank begins to fill the lower rectangle, but thenoverflows because the lower rectangle is smaller. In display 828 (FIG.8B-3), the user creates an empty rectangle that is bigger than the toprectangle by copying the upper rectangle, dragging it into position, andthen enlarging it to a size the user selects. The user adds a spigot indisplay 830 (FIG. 8B-4), which is used to fill up the lower rectangle.

In FIG. 8C (8C-1 to 8C-4), the user drains the water using the spigotand display 832 (FIG. 8C-1) shows that water from the upper rectanglehas flowed into the larger lower rectangle. The water level line that isanimated is proportionate to the size rectangle that the user created indisplay 828.

In display 834 (FIG. 8C-2), the user copies another rectangle butchanges the corner angles, without changing the area enclosed by theresulting polygon. The user then poses a question to the studentsregarding the relationship between the area of a parallelogram and areaof a rectangle before progressing to the next portion of thepresentation. Displays 836 (FIG. 8C-3) shows the three possiblesolutions to the question of how the water from the rectangle will fillthe parallelogram. Each solution animates the relative area of therectangle compared to different parallelogram sizes. Students mayrespond verbally as in a traditional classroom, or may use the studentcomputing devices 108 to choose a potential solution. In display 838(FIG. 8C-4), the user starts the spigot animation to allow water to flowfrom the rectangle to the parallelogram.

In FIG. 8D (8D-1 to 8D-4), the user continues to use the various domaindatabases mentioned above and also uses the character recognition 214and symbolic manipulation 210 domains. In display 840 (FIG. 8D-1), theuser illustrates that the water from display 838 fills the parallelogramproving that the area of the rectangle and the parallelogram are thesame. In display 842 (FIG. 8D-2), the presentation system 102 interpretsthe user's draw paths to animate a vertical dividing line through therectangle, and to drag the resulting triangle to the opposite side ofthe rectangle and rejoin it, thereby demonstrating how a parallelogrammay be formed by changing the enclosed angles, but retaining theoriginal area of the rectangle. In display 844 (FIG. 8D-3) and 846 (FIG.8D-4), the user applies labels to the shapes, and formulas forcalculating the areas of a rectangle and a parallelogram.

FIGS. 9A-9D (9A-1 to 9A-2/9B-1 to 9B-2) show a lesson plan for atetrahedron. The various icons 902-917 (FIG. 9A-1) are similar to802-817 described above with respect to FIG. 8A.

In display 900 (FIG. 9A-1), the user uses the interactive display device104 to draw a rectangle. The freehand drawing is interpreted as arectangle and displayed in display 920 (FIG. 9A-2). The lesson plan inthis illustration uses the Open Drawing domain database 204 and the 2Ddomain database from the Shape domain database 206. The gesture setassociated with displays 900 and 920 is the multi touch gesture set.

FIG. 9B continues to show the presentation where the 2D rectangle isextruded into the 3D structure at display 922 (FIG. 9B-1). The userswipes one corner of the rectangle from display 920 to generate theshape in display 922. Thus, in this example, the user gesture isassociated with the 2D extrusion domain database, which may be a part ofthe shape database 206 described above in detail. The user may selectany size shape within a predefined range, but the shape needs to be arectangle, or box, as established by the presentation keyframevariables.

The user then uses a flicking motion on the interactive display device104 to set the 3D object of display 922 in motion as shown in display924 (FIG. 9B-2). In this example, the 3D Spatial Control gesture set ismapped by the 3D shape 206 and Spatial Object Manipulation domaindatabases 208.

Displays 926 (FIG. 9C-1) and 928 (FIG. 9C-2) show that the usercontinues with the lesson plan by drawing a series of lines onto the boxshaped, 3D object to cut a section of the 3D object. The presentationsystem 102 interprets the user draw path and generates animated lines onthree faces of the 3D object within a range of acceptable positions onthe box. The user's gesture set may be a multi-touch or single touch andthe draw paths are correlated with the Open Drawing 204 and 2D Shapedomain 206 databases.

In display 930 of FIG. 9D-1, the user has selected and removed thetriangular corner from display 928, presented the modified box, and thenremoved the box from view. The user's draw path is then interpreted tospin the resulting tetrahedron, and view all its sides. The user usessingle touch, multi touch and 3D spatial control gesture sets to spinthe tetrahedron; the user may apply color to the surface and label theshape as shown in displays 932 (FIG. 9D-2) and 934 (FIG. 9D-3,respectively. Displays 930, 932 and 934 use the 3D Shape 206, CharacterRecognition 214, 2D Shape 206 and the Fridge Magnet Mode 216 domaindatabases to transition the animations according to the user draw paths.

Cloud Computing:

The system and techniques described above are applicable and useful inthe upcoming cloud computing environment. Cloud computing meanscomputing capability that provides an abstraction between the computingresource and its underlying technical architecture (e.g., servers,storage, networks), enabling convenient, on-demand network access to ashared pool of configurable computing resources that can be rapidlyprovisioned and released with minimal management effort or serviceprovider interaction. The term “cloud” is intended to refer to theInternet and cloud computing allows shared resources, for example,software and information to be available, on-demand, like a publicutility.

Typical cloud computing providers deliver common business applicationsonline which are accessed from another web service or software like aweb browser, while the software and data are stored remotely on servers.The cloud computing architecture uses a layered approach for providingapplication services. A first layer is an application layer that isexecuted at client computers. In this example, the application allows aclient to access storage via a cloud.

After the application layer, is a cloud platform and cloudinfrastructure, followed by a “server” layer that includes hardware andcomputer software designed for cloud specific services. Detailsregarding these layers are not germane to the inventive embodiments.

Thus, a method and apparatus for developing and presenting educationmaterials have been described. Note that references throughout thisspecification to “one embodiment” or “an embodiment” mean that aparticular feature, structure or characteristic described in connectionwith the embodiment is included in at least one embodiment of thepresent disclosure. Therefore, it is emphasized and should beappreciated that two or more references to “an embodiment” or “oneembodiment” or “an alternative embodiment” in various portions of thisspecification are not necessarily all referring to the same embodiment.Furthermore, the particular features, structures or characteristicsbeing referred to may be combined as suitable in one or more embodimentsof the disclosure, as will be recognized by those of ordinary skill inthe art.

While the present disclosure is described above with respect to what iscurrently considered its preferred embodiments, it is to be understoodthat the disclosure is not limited to that described above. To thecontrary, the disclosure is intended to cover various modifications andequivalent arrangements within the spirit and scope of the appendedclaims.

What is claimed is:
 1. A machine implemented method, comprising: using agraphical interface for developing a lesson plan having a plurality ofkeyframes for teaching a mathematical concept; wherein content for eachkeyframe is associated with a database domain from among a plurality ofdatabase domains; selecting a gesture from a gesture set for controllingobjects when displayed at an interactive display device for a firstkeyframe; associating a mutable variable for the first keyframe contentwith a gesture; defining a default condition for the mutable variable;adding one or more of text, label, dimension or expression to the firstkeyframe content; and establishing transition between the first keyframeand a next frame, using animation.
 2. The method of claim 1, wherein thegesture set includes a single touch, multi-touch and three dimensionalspatial control gestures for controlling an object from the firstkeyframe.
 3. The method of claim 1, wherein the plurality of databasedomains include an open drawing domain database, a shape domaindatabase, a spatial object manipulation domain database, a symbolicmanipulation domain database, a measurement domain database, a characterrecognition domain database, a fridge magnet mode domain database, anobject duplication domain database and a data display domain database.4. The method of claim 1, wherein the lesson plan is displayed at aninteractive display device.
 5. The method of claim 4, wherein the lessonplan is presented to a student on a computing system that is coupled tothe interactive display device via a network.
 6. The method of claim 1,wherein the lesson plan is presented using a presentation system thatincludes an input analyzer for analyzing a user input and associatingthe user input with a gesture set and a domain database.
 7. The methodof claim 1, wherein an animation engine provides animation between thefirst keyframe to the next keyframe.
 8. A machine implemented method forpresenting a lesson plan having a plurality of keyframes, comprising:initializing a fixed variable for a first keyframe; detecting an inputfrom a user at an interactive display device; correlating the input witha gesture from a gesture set and one or more of database domains fromamong a plurality of database domains; displaying an image at theinteractive display device when all mutable variables for the firstkeyframe content are determined based on the input; manipulating theimage using a gesture associated with the displayed image and anyassociated database domains; and transitioning to a next keyframe usinganimation.
 9. The method of claim 8, wherein the gesture set includes asingle touch, multi-touch and three dimensional spatial control gesturesfor controlling an object from the first keyframe.
 10. The method ofclaim 8, wherein the plurality of database domains include an opendrawing domain database, a shape domain database, a spatial objectmanipulation domain database, a symbolic manipulation domain database, ameasurement domain database, a character recognition domain database, afridge magnet mode domain database, an object duplication domaindatabase and a data display domain database.
 11. The method of claim 8,wherein the lesson plan is displayed to a student on a computing systemthat is coupled to the interactive display device via a network.
 12. Themethod of claim 8, wherein the lesson plan is presented using apresentation system that includes an input analyzer for analyzing theinput and associating the input with a gesture set and a domaindatabase.
 13. The method of claim 8, wherein an animation engineprovides animation from the first keyframe to the next keyframe.
 14. Asystem for delivering educational content, comprising: an interactivedisplay device operationally coupled to a presentation system and acomputing system for presenting educational content; wherein thepresentation system is configured to initialize a fixed variable for afirst keyframe; detect an input from a user at the interactive displaydevice; correlate the input with a gesture from a gesture set and one ormore of database domains from among a plurality of database domains;display an image at the interactive display device when all mutablevariables for the first keyframe content are determined based on theinput; manipulate the image using a gesture associated with thedisplayed image and any associated database domains; and transition to anext keyframe using animation.
 15. The system of claim 14, wherein thegesture set includes a single touch, multi-touch and three dimensionalspatial control gestures for controlling an object from the firstkeyframe.
 16. The system of claim 14, wherein the plurality of databasedomains include an open drawing domain database, a shape domaindatabase, a spatial object manipulation domain database, a symbolicmanipulation domain database, a measurement domain database, a characterrecognition domain database, a fridge magnet mode domain database, anobject duplication domain database and a data display domain database.17. The system of claim 14, wherein the lesson plan is displayed to astudent using a computing system that is coupled to the interactivedisplay device via a network.
 18. The system of claim 14, wherein thepresentation system includes an input analyzer for analyzing the inputand associating the input with a gesture set and a domain database. 19.The system of claim 14, wherein an animation engine provides animationfrom the first keyframe to the next keyframe.
 20. The system of claim14, wherein the interactive display device, the presentation system andthe user computing system communicate via a network.